package com.wing.bill.dao;


import com.scurrilous.circe.Hash;
import com.wing.cabinet.model.response.CabinetVO;
import com.wing.cabinet.model.response.CellSingleInventoryProductVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;

@Mapper
public interface CostCenterDao {

    List<HashMap> list(@Param("param")String param
            ,@Param("startTime")LocalDateTime startTime,@Param("endTime")LocalDateTime endTime
            ,@Param("code") String code,@Param("costCenter")String costCenter);

    List<HashMap> costCenterBodyCount(@Param("startTime")LocalDateTime startTime,@Param("endTime")LocalDateTime endTime
    ,@Param("param")String param,@Param("enterpriseId") Long enterpriseId,@Param("costCenter")String costCenter);

    HashMap costCenterBodyCountTotal(@Param("enterpriseId")Long enterpriseId);

    List<HashMap> costCenterGetMuch(@Param("param")String param,@Param("startTime")LocalDateTime startTime,@Param("endTime")LocalDateTime endTime
            ,@Param("code") String enterpriseCode,@Param("costCenter")String costCenter);

    List<HashMap> costCenterConsumeMuch(@Param("param")String param,@Param("startTime")LocalDateTime startTime,@Param("endTime")LocalDateTime endTime
            ,@Param("code") String enterpriseCode,@Param("costCenter")String costCenter);

    List<HashMap> costCenterConsumeMuchTotal(@Param("startTime")LocalDateTime startTime,@Param("endTime")LocalDateTime endTime
            ,@Param("code") String enterpriseCode,@Param("costCenter")String costCenter);

    List<HashMap> costCenterScrap( @Param("param")String param,@Param("businessType") Integer businessType
            ,@Param("startTime")LocalDateTime startTime,@Param("endTime")LocalDateTime endTime
            ,@Param("code") String enterpriseCode
           ,@Param("costCenter")String costCenter
            );

    HashMap costCenterScrapTotal(@Param("businessType") Integer businessType
            ,@Param("startTime")LocalDateTime startTime,@Param("endTime")LocalDateTime endTime
            ,@Param("code") String enterpriseCode
            ,@Param("costCenter")String costCenter);

    List<HashMap> queryLostResultMC(@Param("start") LocalDateTime startTime, @Param("end") LocalDateTime endTime
            , @Param("code") String code,@Param("param") String param, @Param("costCenter") String costCenter, @Param("type") Integer businessType);

    /**
     * 报失
     * @param startTime
     * @param endTime
     * @param code
     * @param costCenter
     * @param businessType
     * @return
     */
    List<HashMap> queryLostResultTotal(@Param("start") LocalDateTime startTime, @Param("end") LocalDateTime endTime
            , @Param("code") String code, @Param("costCenter") String costCenter, @Param("type") Integer businessType);

    List<HashMap> queryInRecords(@Param("param")String param,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end
            , @Param("code")String code, @Param("costCenter")String costCenter);

}
